	#e
	#Title[SampleC03]
	#Text[SampleC03F̒e(A)ɐGꂽe(B)Aeo]
	#Image[]
	#BackGround[User]
	#ScriptVersion[2]
	
	script_enemy_main
	{
let movecount = 0;
		let count=0;//eoԊu𐧌䂷邽߂̕ϐ
		let cx=GetCenterX();//ϐcxɒSxW
		let cy=GetCenterY();//ϐcxɒSyW
		let imgExRumia=GetCurrentScriptDirectory~"img\ExRumia.png";
		let arrayShotA=[];//ShotÃIuWFNgۑĂz
		
		@Initialize()
		{
			SetLife(1000);//G̃Ct1000ɐݒ
			SetGraphicRect(64,1,127,64);//`挳̋`(64,1)-(127,64)ɐݒ
			LoadGraphic(imgExRumia);//摜uimg\ExRumia.pngvǂ݂		
			SetMovePosition02(cx,120,60);//W(cx,60)60t[ňړ
				Tmain;
		}
			
		@MainLoop()
		{
			if(count == 125)
			{//480t[0t[ڂɖ߂
				move01;
				count=0;
			}
			
			SetCollisionA(GetX(),GetY(),32);//G̍Wɓ蔻o^
			SetCollisionB(GetX(),GetY(),24);//G̍Wɓ蔻(̓p)o^
			movecount++;
			count++;//1t[count1
			yield;//t[^XNA
		}
	task Tmain{
			loop(100){yield;}
					loop(1){
				let pAngle = GetAngleToPlayer()+rand(-36,36);
				Tmain;
						loop(10){yield;}
					loop(11){
				ShotA(GetX(), GetY(), 4, pAngle);
						pAngle+=360/11;
						}
						loop(100){yield;}
						}
		}
	task Tmain2{
				let y = 0;
			loop(50){
				let x = 0;
			loop(50){
			ShotB(x, y, rand(0,2));	
			x+=15;
			}
			y+=15;
			}
						loop(100){yield;}
		}
			sub move01 {
	    if(GetX()>=304)//vC[GEɋꍇ
	    {//Eɓ
	        SetMovePosition02(GetX()-rand(25,50),rand(100,150),60);
	    }
	    else if(GetX()<=144)//vC[G荶ɂꍇ
	    {//ɓ
	        SetMovePosition02(GetX()+rand(25,50),rand(100,150),60);
	    }
	    else if(GetX()<=GetPlayerX())//vC[GEɋꍇ
	    {//Eɓ
	        SetMovePosition02(GetX()+rand(25,50),rand(100,150),60);
	    }
	    else if(GetX()>=GetPlayerX())//vC[G荶ɂꍇ
	    {//ɓ
	        SetMovePosition02(GetX()-rand(25,50),rand(100,150),60);
	    }
	    movecount = 0;
	}
		@DrawLoop()
		{
			SetTexture(imgExRumia);
			DrawGraphic(GetX(),GetY());//G̍WEx[~A`;
		}
		
		@Finalize()
		{
			DeleteGraphic(imgExRumia);
		}
		
		task ShotA(let x, let y, let speed, let angle)
		{//eA(ʂ̑)
			//e^XN
			let obj = Obj_Create(OBJ_SHOT);//eIuWFNg쐬
			arrayShotA = arrayShotA ~ [obj];//IuWFNgǉ
			Obj_SetX(obj, x);//xWݒ
			Obj_SetY(obj, y);//yWݒ;
			Obj_SetSpeed(obj, speed);//xݒ
			Obj_SetAngle(obj, angle);//ړpxݒ
			ObjShot_SetGraphic(obj, RED03);//摜ݒ
			
			while( !Obj_BeDeleted(obj) )
			{//폜܂Ń[vs
				yield;
			}
			
			let i=0;
			loop(length(arrayShotA))
			{//arrayA玩g폜
				if(arrayShotA[i] == obj)
				{//zarrayShotAiԖ(g)̗vf폜
					arrayShotA = erase(arrayShotA, i);
					break;
				}
				i++;
			}		
		}
		task ShotB(let x, let y,let rand)
		{//ShotAɓe@ɏoe
			//e^XN
			let count=0;
			let obj = Obj_Create(OBJ_SHOT);//eIuWFNg쐬
			Obj_SetX(obj, x);//xWݒ
			Obj_SetY(obj, y);//yWݒ;
			ObjShot_SetGraphic(obj, AQUA05);//摜ݒ
			ObjShot_SetDelay(obj, 0);
			Obj_SetCollisionToPlayer(obj,false);
			Obj_SetAlpha(obj, 0);
			
			while( !Obj_BeDeleted(obj) )
			{//폜܂Ń[vs
				let i=0;
				loop(length(arrayShotA))
				{//ShotAƂ̓蔻𒲍
					if(Collision_Obj_Obj(arrayShotA[i], obj))
					{//ShotAƐڐG
					if(rand <= 1){
						ShotC(x, y);
						Obj_Delete(obj);//Gꂽ폜
						break;
						}
					}
					i++;
				}		
				if(count == 90)
				{//240t[ŏ
					ObjShot_FadeDelete(obj);
					break;
				}
				count++;
				yield;
			}
		}	
		task ShotC(let x, let y)
		{//ShotAɓe@ɏoe
			//e^XN
			let count=0;
			let obj = Obj_Create(OBJ_SHOT);//eIuWFNg쐬
			Obj_SetX(obj, x);//xWݒ
			Obj_SetY(obj, y);//yWݒ;
			ObjShot_SetGraphic(obj, BLUE01);//摜ݒ
			ObjShot_SetDelay(obj, 20);
			
			while( !Obj_BeDeleted(obj) )
			{//폜܂Ń[vs		
				if(count == 80)
				{//240t[ŏ
				CreateShotA(1,x,y,15);
				SetShotDataA(1,0,0,0,0,0,0,BLUE21);
				SetShotKillTime(1,0);
				FireShot(1);
					Obj_Delete(obj);
					break;
				}
				count++;
				yield;
			}
		}
		
	}
